
import { createRouter, createWebHistory } from 'vue-router';

// 导入其它路由记录
import homeRoutes from './home';
import userRoutes from './user';

// 设置 RouterOptions
const options = {
    history: createWebHistory(),
    routes: [ ...homeRoutes , ...userRoutes ]
}

// 创建 Router实例
const router = createRouter( options );

// 被允许直接访问的路由路径
const allows = ['/','/sign/up','/sign/in'];

// 全局前置守卫
router.beforeEach( to => {
    // 若 sessionStorage 中不存在 token 并且 不是被允许直接访问的 路径
    if( !sessionStorage.getItem('token') && !allows.includes( to.path ) ){
        return { name: 'signIn' }
    }
});

// 全局后置钩子
router.afterEach( to => {
    document.title = to.meta.title;
});

// 导出 Router实例
export default router ;